package com.xidata.dict.translate.youdao;

import lombok.Data;

/**
 * 
 * 
 * @author: yukikyu
 * @date: 2022-12-15 15:41
 */
@Data
public class YoudaoTranslateRequest {

    /**
     * 待翻译文本 
     * 必填：True
     * 必须是UTF-8编码
     */
    private String q;
    
    /**
     * 源语言 
     * 必填：True
     * 参考下方 支持语言 (可设置为auto)
     */
    private YoudaoLanguage from = YoudaoLanguage.AUTO;
    
    /**
     * 目标语言 
     * 必填：True
     * 参考下方 支持语言
     */
    private YoudaoLanguage to;
    
    /**
     * 应用ID 
     * 必填：True
     * 可在 应用管理 查看
     */
    private String appKey;
    
    /**
     * UUID 
     * 必填：True
     * uuid，唯一通用识别码
     */
    private String salt;
    
    /**
     * 签名 
     * 必填：True
     * sha256(应用ID+input+salt+curtime+应用密钥)
     */
    private String sign;
    
    /**
     * 签名类型 
     * 必填：True
     * v3
     */
    private String signType;
    
    /**
     * 当前UTC时间戳(秒) 
     * 必填：True
     * TimeStamp
     */
    private String curtime;
    
    /**
     * 翻译结果音频格式，支持mp3 
     * 必填：false
     * mp3
     */
    private String ext;
    
    /**
     * 翻译结果发音选择 
     * 必填：false
     * 0为女声，1为男声。默认为女声
     */
    private String voice;
    
    /**
     * 是否严格按照指定from和to进行翻译：true/false
     * 必填：false
     * 如果为false，则会自动中译英，英译中。默认为false
     */
    private String strict;
    
    /**
     * 用户上传的词典 
     * 必填：false
     * 用户指定的词典 out_id，目前支持英译中
     */
    private String vocabId;
    
    /**
     * 领域化翻译 
     * 必填：false
     * 默认为：general。仅在控制台开通领域化翻译的情况下可传，支持领域见下表
     */
    private String domain;
    
    /**
     * 拒绝领域化翻译降级-当领域化翻译失败时改为通用翻译 
     * 必填：false
     * true或false，默认为：false。仅在控制台开通领域化翻译的情况生效。
     */
    private String rejectFallback;

}
